函数

isprint

<cctype>

int isprint ( int c );

检查字符是否可打印(printable)

检查 c 是否是一个可打印字符。

可打印字符会占据显示的打印位置(这和在函数 iscntrl 中返回 true 的控制字符相反)。

对于标准 ASCII 字符集(在 “C” 环境中),可打印字符是 ASCII 值大于 0x1f (US),但除了 0x7f (DEL) 的字符。

isgraph 返回 true 的情况和 isprint 一样,除了空格字符 (‘ ‘) 外,空格字符 (‘ ‘) 在 isprint 中返回 true,但在 isgraph 中返回 false

头文件 <cctype> 的参考中,有标准 ASCII 字符集的各个字符在不同 ctype 函数的返回值的详细图表。

在 C++ 中,这个函数的 locale-specific 模板版本 isprint 在头文件 <locale>中。

参数

c

被检查的字符,被转化为 int 型或 EOF

返回值

如果 c 的确是一个数字或字母,则返回一个非0值 (也就是 true ),否则返回0 (也就是 false)。

例子

  1. /* isprint example */
  2. #include <stdio.h>
  3. #include <ctype.h>
  4. int main()
  5. {
  6. int i = 0;
  7. char str[] = "first line \n second line \n";
  8. while(isprint(str[i]))
  9. {
  10. putchar(str[i]);
  11. i++;
  12. }
  13. return 0;
  14. }

这段代码追个字符输出一个字符串,直到遇到一个控制字符才跳出 while 循环。在这个例子中,只有第一行被输出,因为第一行以控制字符 ‘\n’ (ASCII 值是 0x0a) 结尾,它不是一个可打印字符。

另请参阅

函数名 描述
iscntrl 检查字符是否是控制字符(control character) (函数)
isspace 检查字符是否是空格符(white-space) (函数)
isalnum 检查字符是否是字母或数字(alphanumeric) (函数)